package testSudoku;

import static org.junit.Assert.*;

import org.junit.Test;

import sudoku.Manager;
import sudoku.medium_qustion;
public class testMedium_Question {

	// Test case 1: test class "medium_qustion":  test question1
	@Test
	public void testquestion1() 
	{
		medium_qustion question =new medium_qustion();	
		char[][][] quest = question.get_questn();
		char [][]result = new char[][] {
				{' ',' ','6',' ',' ',' ','3',' ',' '},
				{' ','3',' ','4',' ','8',' ','1',' '},
				{'4','1','5',' ',' ',' ',' ','8','2'},
				{' ',' ','4','3',' ','1','2','6',' '},
				{'1',' ',' ',' ','4',' ',' ',' ','3'},
				{' ','7','8','2',' ','5','1',' ',' '},
				{'5','2',' ',' ',' ',' ','6','9','8'},
				{' ','4',' ','8',' ','3',' ','2',' '},
				{' ',' ','7',' ',' ',' ','4',' ',' '}
		};
		
	
		assertArrayEquals(result, quest[0]);
	}
	
	
	// Test case 2: test class "medium_qustion":  test question2
	@Test
	public void testquestion2() 
	{
		medium_qustion question =new medium_qustion();	
		char[][][] quest = question.get_questn();
		char [][]result = new char[][] {
				{'2','6',' ',' ',' ',' ',' ','5','4'},
				{' ',' ','3','5',' ','9','7',' ',' '},
				{'9',' ',' ',' ','6',' ',' ',' ','1'},
				{' ',' ','8','1',' ','2','6',' ',' '},
				{'3','4',' ',' ','9',' ',' ','2','5'},
				{' ',' ','6','3',' ','8','1',' ',' '},
				{'6',' ',' ',' ','8',' ',' ',' ','2'},
				{' ',' ','2','9',' ','6','4',' ',' '},
				{'8','3',' ',' ',' ',' ',' ','6','9'}
		};
		
	
		assertArrayEquals(result, quest[1]);
	}
	
	
	// Test case 3: test class "medium_qustion":  test question3
	@Test
	public void testquestion3() 
	{
		medium_qustion question =new medium_qustion();	
		char[][][] quest = question.get_questn();
		char [][]result = new char[][] {
				{'8','6',' ',' ','9',' ','1',' ','3'},
				{' ',' ',' ',' ','4','5',' ',' ','9'},
				{' ','7',' ','8',' ',' ','2','6','4'},
				{'5',' ','9',' ',' ','6',' ',' ',' '},
				{' ','8',' ',' ','2',' ',' ','3',' '},
				{' ',' ',' ','1',' ',' ','9',' ','8'},
				{'4','3','2',' ',' ','9',' ','8',' '},
				{'6',' ',' ','2','7',' ',' ',' ',' '},
				{'1',' ','7',' ','3',' ',' ','9','2'}
		};
		
	
		assertArrayEquals(result, quest[2]);
	}
	
	
	
	// Test case 4: test class "medium_qustion":  test solution1
	@Test
	public void testsolution1() 
	{
		medium_qustion question =new medium_qustion();	
		char[][][] sol = question.get_sol();
		char [][]result = new char[][] {
				{'2','8','6','5','1','9','3','7','4'},
				{'7','3','9','4','2','8','5','1','6'},
				{'4','1','5','7','3','6','9','8','2'},
				{'9','5','4','3','8','1','2','6','7'},
				{'1','6','2','9','4','7','8','5','3'},
				{'3','7','8','2','6','5','1','4','9'},
				{'5','2','3','1','7','4','6','9','8'},
				{'6','4','1','8','9','3','7','2','5'},
				{'8','9','7','6','5','2','4','3','1'}
		};
		
	
		assertArrayEquals(result, sol[0]);
	}
	
	
	
	// Test case 5: test class "medium_qustion":  test solution2
	@Test
	public void testsolution2() 
	{
		medium_qustion question =new medium_qustion();	
		char[][][] sol = question.get_sol();
		char [][]result = new char[][] {
				{'2','6','7','8','1','3','9','5','4'},
				{'4','1','3','5','2','9','7','8','6'},
				{'9','8','5','7','6','4','2','3','1'},
				{'7','9','8','1','5','2','6','4','3'},
				{'3','4','1','6','9','7','8','2','5'},
				{'5','2','6','3','4','8','1','9','7'},
				{'6','7','9','4','8','5','3','1','2'},
				{'1','5','2','9','3','6','4','7','8'},
				{'8','3','4','2','7','1','5','6','9'}
		};
		
	
		assertArrayEquals(result, sol[1]);
	}
	
	
	
	// Test case 6: test class "medium_qustion":  test solution3
	@Test
	public void testsolution3() 
	{
		medium_qustion question =new medium_qustion();	
		char[][][] sol = question.get_sol();
		char [][]result = new char[][] {
				{'8','6','4','7','9','2','1','5','3'},
				{'2','1','3','6','4','5','8','7','9'},
				{'9','7','5','8','1','3','2','6','4'},
				{'5','2','9','3','8','6','4','1','7'},
				{'7','8','1','9','2','4','5','3','6'},
				{'3','4','6','1','5','7','9','2','8'},
				{'4','3','2','5','6','9','7','8','1'},
				{'6','9','8','2','7','1','3','4','5'},
				{'1','5','7','4','3','8','6','9','2'}
		};
		
	
		assertArrayEquals(result, sol[2]);
	}
	
	
}
